package com.blrs.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.blrs.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.blrs.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 活动信息培训对象 activity_training
 * 
 * @author yang
 * @date 2023-11-22
 */
public class ActivityTraining extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 活动id */
    private String activityId;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String activityName;

    /** 发起单位 */
    @Excel(name = "发起单位")
    private String initiationUnit;

    /** 主办单位id */
    @Excel(name = "主办单位id")
    private String sponsorId;

    /** 主办单位 */
    @Excel(name = "主办单位")
    private String sponsor;

    /** 承办单位id */
    @Excel(name = "承办单位id")
    private String undertakerId;

    /** 承办单位 */
    @Excel(name = "承办单位")
    private String undertaker;

    /** 协办单位id */
    @Excel(name = "协办单位id")
    private String organizerId;

    /** 协办单位 */
    @Excel(name = "协办单位")
    private String organizer;

    /** 类别 */
    @Excel(name = "类别")
    private String type;

    /** 发起时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发起时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date initiationTime;

    /** 形式 */
    @Excel(name = "形式")
    private String lays;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 地点 */
    @Excel(name = "地点")
    private String location;

    /** 接收方id */
    @Excel(name = "接收方id")
    private String receiverId;

    /** 接收方姓名 */
    @Excel(name = "接收方姓名")
    private String receiverName;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operateTime;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 操作人id */
    @Excel(name = "操作人id")
    private Long operateId;

    /** 操作人姓名 */
    @Excel(name = "操作人姓名")
    private String operateName;

    /** 部门id */
    @Excel(name = "部门id")
    private Long departmentId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String departmentName;

    /** 组织机构id */
    @Excel(name = "组织机构id")
    private Long organizationId;

    /** 组织机构名称 */
    @Excel(name = "组织机构名称")
    private String organizationName;

    /** 创建人id */
    @Excel(name = "创建人id")
    private Long createId;

    /** 创建人姓名 */
    @Excel(name = "创建人姓名")
    private String creationName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 归属于 */
    @Excel(name = "归属于")
    private Long belongTo;

    /** 主分类 */
    @Excel(name = "主分类")
    private String classificationId;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String telephone;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deadlineTime;

    /** 审核人id */
    @Excel(name = "审核人id")
    private Long examineId;

    /** 审核人姓名 */
    @Excel(name = "审核人姓名")
    private String examineName;

    /** 附件 */
    @Excel(name = "附件")
    private String fileUpload;

    /** 参训人数 */
    @Excel(name = "参训人数")
    private Long partPersonNum;

    /** 参训企业数量 */
    @Excel(name = "参训企业数量")
    private Long partEnterNum;

    /** 满意度评分 */
    @Excel(name = "满意度评分")
    private Long satisfactionScore;

    /** 费用 */
    @Excel(name = "费用")
    private BigDecimal fee;

    /**
     * 附件路径
     * @param activityId
     */
    private String fileUrl;

    /**
     * 总结报告
     */
    private String partUpload;

    /**
     * 总结报告附件
     */
    private String partUrl;

    /**
     * 配图
     * @return
     */
    private String activityPicture;

    /**
     * 区域
     * @return
     */
    private String region;

    /**
     * 审核状态
     * @return
     */
    private String examineStatus;

    /**
     * 终止原因
     * @return
     */
    private String endReason;

    /**
     * 企业logo
     * @return
     */
    private String logoUrl;
    private String supplierId;
    private String supplierName;

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    private Integer version;

    private Long peoplesNum;

    /**
     * 签到表
     */
    private String signUpload;

    /**
     * 活动照片
     */
    private String activityPhoto;

    public String getSignUpload() {
        return signUpload;
    }

    public void setSignUpload(String signUpload) {
        this.signUpload = signUpload;
    }

    public String getActivityPhoto() {
        return activityPhoto;
    }

    public void setActivityPhoto(String activityPhoto) {
        this.activityPhoto = activityPhoto;
    }

    public Long getPeoplesNum() {
        return peoplesNum;
    }

    public void setPeoplesNum(Long peoplesNum) {
        this.peoplesNum = peoplesNum;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(String supplierId) {
        this.supplierId = supplierId;
    }

    public String getSponsorId() {
        return sponsorId;
    }

    public void setSponsorId(String sponsorId) {
        this.sponsorId = sponsorId;
    }

    public String getUndertakerId() {
        return undertakerId;
    }

    public void setUndertakerId(String undertakerId) {
        this.undertakerId = undertakerId;
    }

    public String getUndertaker() {
        return undertaker;
    }

    public void setUndertaker(String undertaker) {
        this.undertaker = undertaker;
    }

    public String getOrganizerId() {
        return organizerId;
    }

    public void setOrganizerId(String organizerId) {
        this.organizerId = organizerId;
    }

    public String getOrganizer() {
        return organizer;
    }

    public void setOrganizer(String organizer) {
        this.organizer = organizer;
    }

    public String getLogoUrl() {
        return logoUrl;
    }

    public void setLogoUrl(String logoUrl) {
        this.logoUrl = logoUrl;
    }

    public String getExamineStatus() {
        return examineStatus;
    }

    public void setExamineStatus(String examineStatus) {
        this.examineStatus = examineStatus;
    }

    public String getEndReason() {
        return endReason;
    }

    public void setEndReason(String endReason) {
        this.endReason = endReason;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getActivityPicture() {
        return activityPicture;
    }

    public void setActivityPicture(String activityPicture) {
        this.activityPicture = activityPicture;
    }

    public String getPartUpload() {
        return partUpload;
    }

    public void setPartUpload(String partUpload) {
        this.partUpload = partUpload;
    }

    public String getPartUrl() {
        return partUrl;
    }

    public void setPartUrl(String partUrl) {
        this.partUrl = partUrl;
    }

    /**
     * 接收方id数组
     * @return
     */
    private List<String> enterpriseId;

    /**
     * 发送类别
     * @return
     */
    private String sendType;

    /**
     * 发起开始时间
     * @return
     */
    private Date initStartTime;

    /**
     * 发起结束时间
     * @return
     */
    private Date initEndTime;

    /**
     * 是否报名(针对当前用户)
     */
    private String partRecive;

    /**
     * 活动报名企业数量
     * @return
     */
    private Integer regiEnterprise;

    public Integer getRegiEnterprise() {
        return regiEnterprise;
    }

    public void setRegiEnterprise(Integer regiEnterprise) {
        this.regiEnterprise = regiEnterprise;
    }

    public String getPartRecive() {
        return partRecive;
    }

    public void setPartRecive(String partRecive) {
        this.partRecive = partRecive;
    }

    public Date getInitStartTime() {
        return initStartTime;
    }

    public void setInitStartTime(Date initStartTime) {
        this.initStartTime = initStartTime;
    }

    public Date getInitEndTime() {
        return initEndTime;
    }

    public void setInitEndTime(Date initEndTime) {
        this.initEndTime = initEndTime;
    }

    public String getSendType() {
        return sendType;
    }

    public void setSendType(String sendType) {
        this.sendType = sendType;
    }

    public List<String> getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(List<String> enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    public void setActivityId(String activityId)
    {
        this.activityId = activityId;
    }

    public String getActivityId() 
    {
        return activityId;
    }
    public void setActivityName(String activityName) 
    {
        this.activityName = activityName;
    }

    public String getActivityName() 
    {
        return activityName;
    }
    public void setInitiationUnit(String initiationUnit) 
    {
        this.initiationUnit = initiationUnit;
    }

    public String getInitiationUnit() 
    {
        return initiationUnit;
    }
    public void setSponsor(String sponsor) 
    {
        this.sponsor = sponsor;
    }

    public String getSponsor() 
    {
        return sponsor;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setInitiationTime(Date initiationTime) 
    {
        this.initiationTime = initiationTime;
    }

    public Date getInitiationTime() 
    {
        return initiationTime;
    }
    public void setLays(String lays) 
    {
        this.lays = lays;
    }

    public String getLays() 
    {
        return lays;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setReceiverId(String receiverId) 
    {
        this.receiverId = receiverId;
    }

    public String getReceiverId() 
    {
        return receiverId;
    }
    public void setReceiverName(String receiverName) 
    {
        this.receiverName = receiverName;
    }

    public String getReceiverName() 
    {
        return receiverName;
    }
    public void setOperateTime(Date operateTime) 
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime() 
    {
        return operateTime;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setOperateId(Long operateId) 
    {
        this.operateId = operateId;
    }

    public Long getOperateId() 
    {
        return operateId;
    }
    public void setOperateName(String operateName) 
    {
        this.operateName = operateName;
    }

    public String getOperateName() 
    {
        return operateName;
    }
    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }
    public void setDepartmentName(String departmentName) 
    {
        this.departmentName = departmentName;
    }

    public String getDepartmentName() 
    {
        return departmentName;
    }
    public void setOrganizationId(Long organizationId) 
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId() 
    {
        return organizationId;
    }
    public void setOrganizationName(String organizationName) 
    {
        this.organizationName = organizationName;
    }

    public String getOrganizationName() 
    {
        return organizationName;
    }
    public void setCreateId(Long createId) 
    {
        this.createId = createId;
    }

    public Long getCreateId() 
    {
        return createId;
    }
    public void setCreationName(String creationName) 
    {
        this.creationName = creationName;
    }

    public String getCreationName() 
    {
        return creationName;
    }
    public void setCreationTime(Date creationTime) 
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() 
    {
        return creationTime;
    }
    public void setBelongTo(Long belongTo) 
    {
        this.belongTo = belongTo;
    }

    public Long getBelongTo() 
    {
        return belongTo;
    }
    public void setClassificationId(String classificationId) 
    {
        this.classificationId = classificationId;
    }

    public String getClassificationId() 
    {
        return classificationId;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setDeadlineTime(LocalDateTime deadlineTime)
    {
        this.deadlineTime = deadlineTime;
    }

    public LocalDateTime getDeadlineTime()
    {
        return deadlineTime;
    }
    public void setExamineId(Long examineId) 
    {
        this.examineId = examineId;
    }

    public Long getExamineId() 
    {
        return examineId;
    }
    public void setExamineName(String examineName) 
    {
        this.examineName = examineName;
    }

    public String getExamineName() 
    {
        return examineName;
    }
    public void setFileUpload(String fileUpload) 
    {
        this.fileUpload = fileUpload;
    }

    public String getFileUpload() 
    {
        return fileUpload;
    }
    public void setPartPersonNum(Long partPersonNum) 
    {
        this.partPersonNum = partPersonNum;
    }

    public Long getPartPersonNum() 
    {
        return partPersonNum;
    }
    public void setPartEnterNum(Long partEnterNum) 
    {
        this.partEnterNum = partEnterNum;
    }

    public Long getPartEnterNum() 
    {
        return partEnterNum;
    }
    public void setSatisfactionScore(Long satisfactionScore) 
    {
        this.satisfactionScore = satisfactionScore;
    }

    public Long getSatisfactionScore() 
    {
        return satisfactionScore;
    }
    public void setFee(BigDecimal fee) 
    {
        this.fee = fee;
    }

    public BigDecimal getFee() 
    {
        return fee;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("activityId", getActivityId())
            .append("activityName", getActivityName())
            .append("initiationUnit", getInitiationUnit())
            .append("sponsor", getSponsor())
            .append("type", getType())
            .append("initiationTime", getInitiationTime())
            .append("lays", getLays())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("location", getLocation())
            .append("receiverId", getReceiverId())
            .append("receiverName", getReceiverName())
            .append("operateTime", getOperateTime())
            .append("status", getStatus())
            .append("operateId", getOperateId())
            .append("operateName", getOperateName())
            .append("departmentId", getDepartmentId())
            .append("departmentName", getDepartmentName())
            .append("organizationId", getOrganizationId())
            .append("organizationName", getOrganizationName())
            .append("createId", getCreateId())
            .append("creationName", getCreationName())
            .append("creationTime", getCreationTime())
            .append("belongTo", getBelongTo())
            .append("classificationId", getClassificationId())
            .append("contacts", getContacts())
            .append("telephone", getTelephone())
            .append("deadlineTime", getDeadlineTime())
            .append("examineId", getExamineId())
            .append("examineName", getExamineName())
            .append("fileUpload", getFileUpload())
            .append("partPersonNum", getPartPersonNum())
            .append("partEnterNum", getPartEnterNum())
            .append("satisfactionScore", getSatisfactionScore())
            .append("fee", getFee())
            .toString();
    }
}
